<!DOCTYPE HTML>
<html>
<head>
<title>SubStr() | AutoHotkey</title>
<meta name="description" content="The SubStr function retrieves one or more characters from the specified position in a string." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>SubStr() <span class="ver">[v1.0.46+]</span></h1>

<p>检索字符串中指定位置开始的一个或多个字符.</p>

<pre class="Syntax">NewStr := <span class="func">SubStr</span>(String, StartingPos <span class="optional">, Length</span>)</pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>String</dt>
  <dd><p>要进行提取的字符串.</p></dd>

  <dt>StartingPos</dt>
  <dd><p>指定 1 从首个字符开始, 2 从第二个开始, 依此类推(如果 <em>StartingPos</em> 超过了 <em>String</em> 长度, 则返回空字符串). 如果 <em>StartingPos</em> 小于 1, 那么它被看成是从字符串末尾开始的偏移. 例如, 0 表示从最后一个字符开始, 而 -1 从倒数第 2 个字符开始(但如果 <em>StartingPos</em> 超过了字符串的左端, 则提取从首个字符开始).</p></dd>

  <dt>Length</dt>
  <dd><p>如果省略这个参数, 则默认为 "全部字符". 其他情况下, 为需提取字符的最大数目(当字符串剩余部分太短时提取的数目会比最大值少). 您还可以指定负的 <em>Length</em> 从而在返回字符串的末尾省略这个数目的字符(如果省略了全部或过多字符则返回空字符串).</p></dd>

</dl>

<h2 id="Return_Value">返回值</h2>
<p>此函数返回所请求的 <em>String</em> 的子字符串.</p>

<h2 id="Remarks">备注</h2>
<p>功能上 <strong>SubStr</strong> 函数和 <a href="StringMid.htm">StringMid</a> 命令相同. 但是, 推荐使用 SubStr, 因为它比 StringMid 更灵活, 且能得到更长久的更新支持.</p>

<h2 id="Related">相关</h2>
<p><a href="RegExMatch.htm">RegExMatch()</a>, <a href="StringMid.htm">StringMid</a>, <a href="StringLeft.htm">StringLeft/Right</a>, <a href="StringTrimLeft.htm">StringTrimLeft/Right</a></p>

<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 在第 4 的位置检索一个长度为 3 个字符的子串.</p>
<pre>MsgBox % SubStr("123abc789", 4, 3) <em>; 返回 abc</em></pre>
</div>

<div class="ex" id="ExStartEnd">
<p><a class="ex_number" href="#ExStartEnd"></a> 分别从一个字符串的开头和结尾处开始检索一个子串.</p>
<pre>String := "The Quick Brown Fox Jumps Over the Lazy Dog"
MsgBox % SubStr(String, 1, 19)  <em>; 返回 "The Quick Brown Fox"</em>
MsgBox % SubStr(String, -7)  <em>; 返回 "Lazy Dog"</em>
</pre>
</div>

</body>
</html>